'use strict';
// 通过 require 引入 vk 实例
const vk = require('vk-unicloud');
// 通过 vk.init 初始化 vk实例（只有初始化后才能使用）
vk.init({
	baseDir: __dirname,
	requireFn: require
});

exports.main = async (event, context) => {
	const db = uniCloud.database();
	const _ = db.command;
	var res = {
		code: 0,
		msg: ""
	};
	// //代理商
	let agents = await db.collection('uni-id-users').where({
		role: _.in(["agent"]),
	}).limit(1000).get()
	console.log("本次查询的代理商数量=", agents.data.length);

	//当存在未计算的代理商账号时，才执行以下逻辑
	if (agents.data.length > 0) {
		let batchRun_agents = await vk.pubfn.batchRun({
			// 批量执行函数
			main: async (item, index) => {
				await vk.pubfn.sleep((Math.floor(Math.random() * (3 - 0)) + 0) * 100);
				await vk.callFunction({
					name: "hedian",
					url: 'admin/auto_run/pub/auto_settle_money.getList',
					title: '请求中...',
					data: {
						item
					}
				});
				return {
					code: 0,
					index
				}
			},
			concurrency: 1, //只能为1，修改后数据会出错
			data: agents.data //数据源，这些数据会依次跑一遍main函数，相当于for循环里的数组
		});
	}
	return res;
};
